我在网上抓取html,当我使用phpstrip_tags时,它会将整个html压缩成一行,删除所有结构。我想通过用换行符替换关闭的h、p和br标记来保留结构。pregreplace是最好的解决方案吗?一旦我替换了所有结束标签,我将运行一个strip标签,但这样我就有了一个基本结构。 最佳答案 $str='somehtml';$tags=array('','','','','','','','','','','');$str=str_replace($tags,"\n",$str);//thenstriptags
我有这个bbcode:[url=http://www.youtube.com/watch?v=h1bIEK1h150]IfIofferyoumysoul[/url]例如。我怎样才能把它变成这样:IfIofferyoumysoul 最佳答案 你需要一个正则表达式。考虑到bbcode可以有文本URL或只有URL,您将需要两个语句:$message=preg_replace('@\[url=([^]]*)\]([^[]*)\[/url\]@','$2',$message);$message=preg_replace('@\[url\]([
假设输入字符串+123-321+123345,使用PHP的正则表达式函数我想删除所有非数字([^\d])字符,除了开头的+字符。+可能存在也可能不存在,因此给定字符串123-321+123345结果应该相同(123321123345)。目前的解决方法是检查+,然后运行preg_replace('/[^\d]+/','',$string),但我确信必须有一个纯正则表达式的解决方案来解决这个问题。谢谢! 最佳答案 试试这个/(?\D与[^\d]相同(?是一个负向后视,确保在非数字之前没有字符串的开头。这个表达式将匹配所有不是字符串开
';$patterns=array("على","مع");$replacements=array("","");$r_string=str_replace($patterns,$replacements,$utf8_string);//echo$r_string;print_r($r_string);echo'';//$words=preg_split("/(|مع|على)/",$r_string);$words=explode("",$r_string);$num=count($words);echo'Thereare'.$num.'words.';?>我有这个代码来计算阿拉伯语
对于我的例子,请访问http://jflaugher.mystudentsite.net/cmweb241/cmweb241_lab2.html我只需要使用htmlspecialchars和str_replace函数来删除双引号和单引号。为什么这对我不起作用?我对PHP很陌生:/YourUsernameis:$username.";echo"YourPasswordis:$password.";echo"YourCommentwas:$comment.";?> 最佳答案 按照AlexLunix指定的相反顺序使用它$username=
为什么这没有按预期工作:echostr_replace("é","é","FédérationCamerounaisedeFootball");结果:"FédérationCamerounaisedeFootball"我希望有:"FédérationCamerounaisedeFootball" 最佳答案 你做错了。这个字符串没有错误,需要替换,它只是用UTF-8编码。您所要做的就是utf8_decode('FédérationCamerounaisedeFootball')。更新:您看到FédérationCamerou
我有来自数据库(非常受控的输入)的数字,它们前后都有下划线。它们是这样存储的:_51__356_它们不会以任何其他格式存储,但有时我只需要从中获取数字。我选择使用其中之一$x=filter_var($myNumber,FILTER_SANITIZE_NUMBER_INT);或$y=preg_replace("/[^0-9]/","",$myNumber);我不确定后端两者之间的细微差别,但它们都能产生我所需要的(无论如何,我是这么认为的),所以我使用哪个并不重要。使用这些选项的优缺点是什么?(例如,是否有人使用数组或其他我可能需要了解的奇怪事物?有人使用了太多资源吗?)
这个问题在这里已经有了答案:Usingstr_replacesothatitonlyactsonthefirstmatch?(23个回答)关闭7年前。这是完美的工作:$replaceLyrics=str_replace('story','_____','ThestoryofmylifeItakeherhomeIdriveallnighttokeepherwarmandtimeIsfrozen(thestoryof,thestoryof)');echo$replaceLyrics;输出:The_____ofmylifeItakeherhomeIdriveallnighttokeepher
我想确保字符串中的/字符始终在两边填充一个空格。对于PHP,我目前使用的是str_replace,但我不能保证所有情况都适用于任意数量的空格。$original="Yes/No";echostr_replace("/","/",$original)."\n";echostr_replace("/","/",$original)."\n";echostr_replace("/","/",$original)."\n";我知道我传递给str_replace函数的第一个参数/参数是错误的,因为它没有考虑周围的字符。下面是我想要实现的一些例子:OriginalDesired==========
我有一个包含这些值的数据数组:Array([id]=>1[myid]=>9[date]=>2014-01-30[user]=>17[reason]=>sometexthere...)这个字符串包含引用数据数组索引的数字:$columns='(0)as"id",(1)as"myid",(2)as"date",(3)as"user",(4)as"reason"';是否可以更改括号中的数字,包括将括号中的数字更改为数组中的适当值?我知道如何使用(string)preg_replace((array)$patterns,(array)$replacements,(string)$subject